package com.zxd.anonymous;

/**
 * ClassName:Test
 * Package:com.zxd.anonymous
 *
 * @Date:2023/9/21 16:04
 * @Author:zxde
 */
//

/**
 * 在go方法中，形参类型为一个Animal接口，可以接收所有实现此接口的子类对象
 * 根据传入的对象不同，在go方法中调用Animal的抽象方法效果也不一样
 * 在调用go方法的时候，可以传入一个Animal接口子类的一个匿名对象
 * 使用new 关键字创建一个Animal子类的对象，并且给返回给一个匿名对象以调用swim方法
 */
public class Test {
    public static void main(String[] args) {
    go(() -> System.out.println("狗游泳"));
    }

    private static void go(Animal animal){
        animal.swim();
    }
}
